package com.feisuanyz.service;

import com.feisuanyz.pojo.domain.MealDO;
import com.feisuanyz.pojo.dto.MealDTO;
import com.feisuanyz.pojo.query.MealQuery;
import com.feisuanyz.pojo.query.MealSelectionQuery;
import com.feisuanyz.pojo.vo.MealSelectionVO;
import com.feisuanyz.pojo.vo.PageResult;
import java.lang.Boolean;
import java.util.List;

/**
 * 菜单管理
 *
 * @author Chenke Zhao
 * @date 2025-03-06 10:18:05
 */
public interface MealService {

    /**
     * 接口名称: 添加食物
     *
     * @param mealDTO 食物信息入参对象
     * @return
     */
    Boolean addMeal(MealDTO mealDTO);

    /**
     * 接口名称: 删除食物
     *
     * @param mealDTO 食物信息入参对象
     * @return
     */
    Boolean deleteMeal(MealDTO mealDTO);

    /**
     * 接口名称: 修改食物
     *
     * @param mealDTO 食物信息入参对象
     * @return
     */
    Boolean updateMeal(MealDTO mealDTO);

    /**
     * 接口名称: 查询用户食物
     *
     * @param mealQuery 查询用户食物入参对象
     * @return
     */
    PageResult<MealDO> getUserMeals(MealQuery mealQuery);

    /**
     * random
     *
     * @param mealSelectionQuery 食物选择查询入参实体类
     * @return  食物实体对象
     */
    MealDO randomSelect(MealSelectionQuery mealSelectionQuery);

    /**
     * history
     *
     * @param mealSelectionQuery 食物选择查询入参实体类
     * @return
     */
    List<MealSelectionVO> getSelectionHistory(MealSelectionQuery mealSelectionQuery);
}
